package host

import (
	"mi/compiler/ast"
	"mi/internal/xpath"
)

type CompilerHost interface {
	GetProjectFile(uri xpath.URI, onError func(message string)) *ast.ProjectFile
	GetPackage(uri xpath.URI, project *ast.ProjectFile) *ast.Package
	GetSourceFile(uri xpath.URI, languageVersion ast.ScriptTarget, onError func(message string)) *ast.SourceFile
	WriteFile(uri xpath.URI, data []byte, onError func(message string))
	GetCurrentDirectory() string
	UseCaseSensitiveFileNames() bool
	GetNewLine() string
}
